--[[
描述 ： 定时器 类
作者 ： 付大志
修改 ： jwg- qt
时间 ： 14/12/01
]]



 
--[[
类 ： MLTimer  
简介： MLTimer 定时器 类
]]
MLTimer = Class(MLPlugin,'MLTimer'); 
MLTimer.mInstance=nil;

--[[
功能：   初始化 定时器 实例
参数：	无	
返回：   定时器 实例
]] 
function  MLTimer:initTimer()
	self.mInstance  = bTimer:new();
	local hashcode =  self.mInstance:timerGetHashCode();
	qtEvent[hashcode] = self;
	return self;
end 

--[[
功能：   启动定时器
参数：	ms	延时时间。单位为毫秒
参数：	isLoop	是否循环定时器 默认单次
返回：	无
]] 
function  MLTimer:start(ms,isLoop)
    if ms==nil  then  print('Warning: MLTimer:start(),argument 1 is nil! ') return end
    if type(ms) ~= 'number'  then print('Warning: MLTimer:start(),argument 1,type is not number!') return end

    if isLoop==nil  then  print('Warning: MLTimer:start(),argument 1 is nil! ') return end
    if type(isLoop) ~= 'boolean'  then print('Warning: MLTimer:start(),argument 1,type is not boolean!') return end

	return self.mInstance:StartTimer(ms,isLoop);
end 

--[[
功能：   暂停定时器
参数：   无
返回：	无
]] 
function  MLTimer:stop()		
          if self.mInstance == nil then return end;
	return self.mInstance:DestoryTimer();
end 

--[[
功能：   定时器触发 事件监听函数
参数：   无	
返回：	无
注解：	上层可重写此函数，来监听此事件
]] 
function qt_enevt_timer(hashcode)
	print("timeout");
	if qtEvent[hashcode]~=nil then 
			if qtEvent[hashcode].onTimer then
				qtEvent[hashcode].onTimer();
			end 
	end 
end

--[[
功能：   定时器触发 事件监听函数
参数：   无	
返回：	无
注解：	上层可重写此函数，来监听此事件
]] 
function MLTimer:onCallBack(resultCode,arg)
 	if self.onTimer~=nil then  
 			self.onTimer(); 
 			print('MLTimer:onCallBack'..resultCode);
 	end 
 	
end

